/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Modelo;

import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author andreus & gabriel
 */
public class TableModelSessao extends AbstractTableModel {
     private static ArrayList<Sessao> sessoes = new ArrayList<>();
    
     private static final String[] colunas = {"Nome do Filme", "Data", "Horário","Nº da Sala","Vendas"};

    public TableModelSessao() {
        sessoes = new ArrayList<>();
    }
    
     // Metodo chamado pela GUI para remover um elemento
    public void remove(int index) {
        sessoes.remove(index);
	fireTableRowsDeleted(index, index);
    }

    // Metodo chamado pela GUI para selecionar um elemento
    public Sessao select(int index) {
        return sessoes.get(index);
    }

    // Metodo chamado pela GUI para inserir um elemento
    public void add(Sessao s) {
        sessoes.add(s);
        fireTableRowsInserted(sessoes.size()-1, sessoes.size()-1);
    }
    
    public void update(int index, Sessao s) {
        sessoes.set(index, s);
        fireTableRowsUpdated(index, index);
    }
    
    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public String getColumnName(int columnIndex) {
        return colunas[columnIndex];
    }

    @Override
    public int getRowCount() {
        return sessoes.size();
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch(columnIndex) {
            case 0: return sessoes.get(rowIndex).getNome_filme();
            case 1: return sessoes.get(rowIndex).getData();
            case 2: return sessoes.get(rowIndex).getHorario();
            case 3: return sessoes.get(rowIndex).getSala().getNumero();
            case 4: return sessoes.get(rowIndex).getIngressos();
        }
        return null;
    }
}
